package city.spring.service.mealService;

import city.spring.domain.entity.mealService.FoodInfoEntity;
import city.spring.domain.entity.mealService.RecipesWeekEntity;
import com.baomidou.mybatisplus.extension.service.IService;

import java.time.DayOfWeek;
import java.util.List;
import java.util.Map;

public interface RecipesWeekService extends IService<RecipesWeekEntity> {

    /**
     * 业务处理：保存一个周次
     *
     * @param entity 食物信息
     */
    void saveRecipesWeek(RecipesWeekEntity entity);

    /**
     * 业务处理：修改一个食物信息
     *
     * @param entity 食物信息
     */
    void updateRecipesWeek(RecipesWeekEntity entity);

    /**
     * 业务处理：删除一个食物信息
     *
     * @param primaryKey 主键ID
     */
    void deleteRecipesWeek(String primaryKey);

    /**
     * 业务处理：删除多个食物信息
     *
     * @param primaryKeys 主键ID列表
     */
    void deleteRecipesWeek(List<String> primaryKeys);

    /**
     * 加载单次套餐
     *
     * @param entity
     */
    void loadWeekMeal(RecipesWeekEntity entity);

    void loadWeekMeal(List<RecipesWeekEntity> entities);

    /**
     * 加载餐次
     *
     * @param entity
     */
    void loadMealTime(RecipesWeekEntity entity);

    void loadMealTime(List<RecipesWeekEntity> entities);

    List<RecipesWeekEntity> getRecipesWeek(String recipesId);

    /**
     * 获取周期内所有食品供应情况
     *
     * @return
     */
    Map<DayOfWeek, List<FoodInfoEntity>> getWeekFoodAll(RecipesWeekEntity entity);

    void setRecipesMealTime(RecipesWeekEntity entity);

}
